---
title: SAIF.Services.Appworx database tables
summary: Database tables used by this library with relationships and usage context.
status: draft
owner: SAIF Documentation
last_reviewed: 2026-08-21
library: SAIF.Services.Appworx
reference_type: embedded
---

# SAIF.Services.Appworx database tables

This page catalogs database tables accessed by this library. The `SAIF.Services.Appworx` .NET code touches zero tables directly — all table access is procedure-side, performed inside the Oracle stored procedure `submit_appworx_job` that this library calls.

## Table catalog

| Table | Database | Schema/Link | CRUD | Purpose | Primary business object |
| --- | --- | --- | --- | --- | --- |
| [JOB_QUEUE](#job_queue) | Oracle | `[unqualified]**` (resolves to `WCIS_DBA` as procedure owner**) | C | Queues the Appworx batch job request row read by the scheduler | `clsRequestAppworxJob` (indirect — via `submit_appworx_job`) |
| [DUAL](#dual) | Oracle | `SYS` (Oracle pseudo-table) | R | Sequence fetch (`SO_MAX_JOBID.NEXTVAL`) used to generate the job identifier | `clsRequestAppworxJob` (indirect — via `submit_appworx_job`) |

## JOB_QUEUE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | `[unqualified]**` — the procedure references the table unqualified; it resolves to `WCIS_DBA` as the procedure owner** |
| **Purpose** | Holds queued Appworx scheduler job requests; this is the row the Appworx scheduler polls and executes |
| **Access pattern** | Stored procedure only — via `submit_appworx_job` |
| **CRUD operations** | Create (Insert only) |
| **Key columns used** | `MODULE`, `REQUESTOR`, `MASTER_JOB_NUMBER`, `JOBID`, `ARG_1` … `ARG_20` (24 columns) |
| **Sequence** | `SO_MAX_JOBID` |
| **Related tables** | None — no joins or foreign-key-style predicates |
| **Business objects** | `clsRequestAppworxJob` (indirect; no BOF business object participates) |

### Operations referencing this table
- [Execute the Appworx submission stored procedure](operations/submit-batch-job-instance.md)

### Business rules referencing this table
- [BR-001: Environment-based portal routing to PRADT](business-rules.md#br-001-environment-based-portal-routing-to-pradt)

### SQL referencing this table
- [SQL-001: Submit an Appworx batch job](sql/SQL-001-submit-appworx-job.md)

---

## DUAL

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | `SYS` (Oracle pseudo-table) |
| **Purpose** | Used to fetch `SO_MAX_JOBID.NEXTVAL` for the job identifier assigned to the queued row |
| **Access pattern** | Stored procedure only — via `submit_appworx_job` |
| **CRUD operations** | Read (sequence fetch only) |
| **Key columns used** | *(none — `SO_MAX_JOBID.NEXTVAL` pseudo-column only)* |
| **Sequence** | `SO_MAX_JOBID` |
| **Related tables** | None |
| **Business objects** | `clsRequestAppworxJob` (indirect) |

### Operations referencing this table
- [Execute the Appworx submission stored procedure](operations/submit-batch-job-instance.md)

### SQL referencing this table
- [SQL-001: Submit an Appworx batch job](sql/SQL-001-submit-appworx-job.md)

---

## Table relationship diagram

No cross-table relationships were identified in this library's SQL. `JOB_QUEUE.JOBID` is populated from the `SO_MAX_JOBID` sequence (a generator, not a parent table), and `MASTER_JOB_NUMBER` is a hard-coded `-1` rather than a reference to a parent job row.

> **Note:** Statements marked with ** could not be confirmed; treat as unknown until verified.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [SQL catalog](sql/index.md)
- [Procedures](procedures/index.md)
- [API reference](api/index.md)

## Sources
- `SAIF.Services.Appworx/clsRequestAppworxJob.vb`
